<?php

/**
 * FuncionalidadeLogic
 * @package model
 * @subpackage logic
 * 
 */
class FuncionalidadeLogic extends LogicModel {

    public function __construct() {
        parent::__construct(new FuncionalidadeDAO());
    }

    /**
     * Monsta o json da funcionalidae
     * @param type $idFuncionalidade
     * @return type
     */
    public function jsonFuncionalidade($idFuncionalidade) {

        $objFuncionalidade = $this->obterPorId($idFuncionalidade);

        $funcionalidade = explode('_', $objFuncionalidade->getNome());
        $addObjFuncionalidade['controller'] = $funcionalidade[0];

        switch ($objFuncionalidade->getTipo()) {
            case 'TB':
                $type = explode('#', $funcionalidade[1]);
                $addObjFuncionalidade['action'] = $type[0];
                $addObjFuncionalidade['toolbar'] = $type[1];
                unset($type);
                break;
            case 'FG':
                $type = explode('@', $funcionalidade[1]);
                $addObjFuncionalidade['action'] = $type[0];
                $addObjFuncionalidade['flag'] = $type[1];
                unset($type);
                break;
            default:
                $addObjFuncionalidade['action'] = $funcionalidade[1];
                break;
        }
        unset($funcionalidade);

        return $this->objectToJson($objFuncionalidade, $addObjFuncionalidade);
    }

    /**
     * AJAX
     */
    public function ajaxIsFuncionalidade($params) {
        $funcionalidade = ucfirst($params['module']) . '_' . $params['page'];
        if( isset($params['toolbar']) ){
            $funcionalidade .= '#'.$params['toolbar'];
        }elseif(isset($params['flag'])){
            $funcionalidade .= '@'.$params['flag'];
        }
        $where = "nom_funcionalidade = '{$funcionalidade}'";unset($funcionalidade);
        $objFuncionalidade = $this->obter($where);unset($where);
        if (is_object($objFuncionalidade)) {
            $idFuncionalidade = $objFuncionalidade->getId();
            unset($objFuncionalidade);
            return $idFuncionalidade;
        } else {
            unset($objFuncionalidade);
            return 'false';
        }
    }   
    
}

?>